home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 …SCII & the Runetime Code / ADC Developer CD (1992-07) (''Butch ASCII And The Runtime Code'')_iso / Dev.CD 199207.iso / Developer Essentials / MPW Interfaces & Libraries / CIncludes / EPPC.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-01-29  |  3.0 KB  |  133 lines  |  [TEXT/MPS ]

  1.  
  2. /************************************************************
  3.  
  4. Created: Friday, September 13, 1991 at 12:28 PM
  5.  EPPC.h
  6.  C Interface to the Macintosh Libraries
  7.  
  8.  
  9.   Copyright Apple Computer, Inc. 1988-1991
  10.   All rights reserved
  11.  
  12. ************************************************************/
  13.  
  14.  
  15. #ifndef __EPPC__
  16. #define __EPPC__
  17.  
  18. #ifndef __PPCTOOLBOX__
  19. #include <PPCToolbox.h>
  20. #endif
  21.  
  22. #ifndef __PROCESSES__
  23. #include <Processes.h>
  24. #endif
  25.  
  26. #ifndef __EVENTS__
  27. #include <Events.h>
  28. #endif
  29.  
  30.  
  31. enum {
  32.  
  33.  kHighLevelEvent = 23,
  34.  
  35. /* postOptions currently supported */
  36.  receiverIDMask = 0x0000F000,
  37.  receiverIDisPSN = 0x00008000,
  38.  receiverIDisSignature = 0x00007000,
  39.  receiverIDisSessionID = 0x00006000,
  40.  receiverIDisTargetID = 0x00005000,
  41.  
  42.  systemOptionsMask = 0x00000F00,
  43.  nReturnReceipt = 0x00000200,
  44.  
  45.  priorityMask = 0x000000FF,
  46.  nAttnMsg = 0x00000001,
  47.  
  48.  
  49. /* error returns from Post and Accept */
  50.  
  51.  bufferIsSmall = -607,
  52.  noOutstandingHLE = -608,
  53.  connectionInvalid = -609,
  54.  noUserInteractionAllowed = -610,    /* no user interaction allowed */
  55.  
  56. /* constant for return receipts */
  57.  
  58.  
  59. #define HighLevelEventMsgClass 'jaym'
  60. #define rtrnReceiptMsgID 'rtrn'
  61.  
  62.  msgWasPartiallyAccepted = 2,
  63.  msgWasFullyAccepted = 1,
  64.  msgWasNotAccepted = 0
  65. };
  66.  
  67. struct TargetID {
  68.  long sessionID;
  69.  PPCPortRec name;
  70.  LocationNameRec location;
  71.  PPCPortRec recvrName;
  72. };
  73.  
  74. typedef struct TargetID TargetID;
  75. typedef TargetID *TargetIDPtr, **TargetIDHdl;
  76.  
  77.  
  78. typedef TargetID SenderID;
  79. typedef SenderID *SenderIDPtr;
  80.  
  81. struct HighLevelEventMsg {
  82.  unsigned short HighLevelEventMsgHeaderLength;
  83.  unsigned short version;
  84.  unsigned long reserved1;
  85.  EventRecord theMsgEvent;
  86.  unsigned long userRefcon;
  87.  unsigned long postingOptions;
  88.  unsigned long msgLength;
  89. };
  90.  
  91. typedef struct HighLevelEventMsg HighLevelEventMsg;
  92. typedef HighLevelEventMsg *HighLevelEventMsgPtr, **HighLevelEventMsgHdl;
  93.  
  94.  
  95. #ifdef __cplusplus
  96. extern "C" {
  97. #endif
  98. pascal OSErr PostHighLevelEvent(const EventRecord *theEvent,
  99.                                 unsigned long receiverID,
  100.                                 unsigned long msgRefcon,
  101.                                 Ptr msgBuff,
  102.                                 unsigned long msgLen,
  103.                                 unsigned long postingOptions)
  104.  = {0x3F3C,0x0034,0xA88F}; 
  105. pascal OSErr AcceptHighLevelEvent(TargetID *sender,
  106.                                   unsigned long *msgRefcon,
  107.                                   Ptr msgBuff,
  108.                                   unsigned long *msgLen)
  109.  = {0x3F3C,0x0033,0xA88F}; 
  110. pascal OSErr GetProcessSerialNumberFromPortName(const PPCPortPtr portName,
  111.  ProcessSerialNumberPtr pPSN)
  112.  = {0x3F3C,0x0035,0xA88F}; 
  113. pascal OSErr GetPortNameFromProcessSerialNumber(PPCPortPtr portName,const ProcessSerialNumberPtr pPSN)
  114.  = {0x3F3C,0x0046,0xA88F}; 
  115. #ifdef __cplusplus
  116. }
  117. #endif
  118. typedef pascal Boolean (*GetSpecificFilterProcPtr) (void *yourDataPtr,
  119.   HighLevelEventMsgPtr msgBuff,
  120.   const TargetID *sender);
  121.  
  122. #ifdef __cplusplus
  123. extern "C" {
  124. #endif
  125. pascal Boolean GetSpecificHighLevelEvent(GetSpecificFilterProcPtr aFilter,
  126.  void *yourDataPtr,OSErr *err)
  127.  = {0x3F3C,0x0045,0xA88F}; 
  128. #ifdef __cplusplus
  129. }
  130. #endif
  131.  
  132. #endif
  133.